#pragma once

#ifdef MC_STATIC
    #define MCAPI
#else 
    #ifdef MC_EXPORT
        #define MCAPI __declspec(dllexport)
    #else
        #define MCAPI __declspec(dllimport)
    #endif
#endif

#if defined(_MSC_VER) && _MSC_VER >= 1100
// disable the warnings for not exporting and long names in templates
#pragma warning(disable:4251)
#pragma warning(disable:4786) 
#endif

#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
    TypeName(const TypeName&); \
    void operator=(const TypeName&)